[INFO] cloning repository https://github.com/sinhpham/pl0
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sinhpham/pl0" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinhpham%2Fpl0", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinhpham%2Fpl0'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b258e40620a9b097e9550f274b625fbb5001d269
[INFO] building sinhpham/pl0 against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinhpham%2Fpl0" "/workspace/builds/worker-11/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/sinhpham/pl0 on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/sinhpham/pl0
[INFO] finished tweaking git repo https://github.com/sinhpham/pl0
[INFO] tweaked toml for git repo https://github.com/sinhpham/pl0 written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/sinhpham/pl0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chomp v0.2.3
[INFO] [stderr]   Downloaded libc v0.2.5
[INFO] [stderr]   Downloaded conv v0.3.1
[INFO] [stderr]   Downloaded aho-corasick v0.4.0
[INFO] [stderr]   Downloaded custom_derive v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e33d85195cec039425d83ba16e3f0bb1932287f03295c4827679a338033fe678
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e33d85195cec039425d83ba16e3f0bb1932287f03295c4827679a338033fe678", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e33d85195cec039425d83ba16e3f0bb1932287f03295c4827679a338033fe678", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e33d85195cec039425d83ba16e3f0bb1932287f03295c4827679a338033fe678", kill_on_drop: false }`
[INFO] [stdout] e33d85195cec039425d83ba16e3f0bb1932287f03295c4827679a338033fe678
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c963cd87992fd1181b7eada37e9ca525c5e68aee3403f7a03f8b0240f276703b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c963cd87992fd1181b7eada37e9ca525c5e68aee3403f7a03f8b0240f276703b", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.5
[INFO] [stderr]    Compiling custom_derive v0.1.2
[INFO] [stderr]    Compiling bitflags v0.3.3
[INFO] [stderr]    Compiling conv v0.3.1
[INFO] [stderr]    Compiling memchr v0.1.7
[INFO] [stderr]    Compiling aho-corasick v0.4.0
[INFO] [stderr]    Compiling regex v0.1.48
[INFO] [stderr]    Compiling chomp v0.2.3
[INFO] [stderr]    Compiling pl0 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]   --> src/parser.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     parse!{i;
[INFO] [stdout] 67 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("+"));
[INFO] [stdout] 68 | |
[INFO] [stdout] 69 | |         ret Sign::Plus
[INFO] [stdout] 70 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____expected expression
[INFO] [stdout]    |       in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]   --> src/parser.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     parse!{i;
[INFO] [stdout] 75 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("-"));
[INFO] [stdout] 76 | |
[INFO] [stdout] 77 | |         ret Sign::Minus
[INFO] [stdout] 78 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____expected expression
[INFO] [stdout]    |       in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]   --> src/parser.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | /     parse!{i;
[INFO] [stdout] 83 | |         let e_sign = or(plus_sign, minus_sign);
[INFO] [stdout] 84 | |         
[INFO] [stdout] 85 | |         ret e_sign
[INFO] [stdout] 86 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____expected expression
[INFO] [stdout]    |       in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]   --> src/parser.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     parse!{i;
[INFO] [stdout] 91 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("*"));
[INFO] [stdout] 92 | |
[INFO] [stdout] 93 | |         ret BiOp::Mul
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____expected expression
[INFO] [stdout]    |       in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 98  | /     parse!{i;
[INFO] [stdout] 99  | |         
[INFO] [stdout] 100 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("/"));
[INFO] [stdout] 101 | |
[INFO] [stdout] 102 | |         ret BiOp::Div
[INFO] [stdout] 103 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     parse!{i;
[INFO] [stdout] 119 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("="));
[INFO] [stdout] 120 | |
[INFO] [stdout] 121 | |         ret ExOp::Equal
[INFO] [stdout] 122 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     parse!{i;
[INFO] [stdout] 127 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("#"));
[INFO] [stdout] 128 | |
[INFO] [stdout] 129 | |         ret ExOp::NumberSign
[INFO] [stdout] 130 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | /     parse!{i;
[INFO] [stdout] 135 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("<"));
[INFO] [stdout] 136 | |
[INFO] [stdout] 137 | |         ret ExOp::LessThan
[INFO] [stdout] 138 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     parse!{i;
[INFO] [stdout] 143 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("<="));
[INFO] [stdout] 144 | |
[INFO] [stdout] 145 | |         ret ExOp::LessThanOrEqual
[INFO] [stdout] 146 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | /     parse!{i;
[INFO] [stdout] 151 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some(">"));
[INFO] [stdout] 152 | |
[INFO] [stdout] 153 | |         ret ExOp::GreaterThan
[INFO] [stdout] 154 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | /     parse!{i;
[INFO] [stdout] 159 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some(">="));
[INFO] [stdout] 160 | |
[INFO] [stdout] 161 | |         ret ExOp::GreaterThanOrEqual
[INFO] [stdout] 162 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 | /         parse!{i;
[INFO] [stdout] 200 | |         
[INFO] [stdout] 201 | |             let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("("));
[INFO] [stdout] 202 | |             
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | |             ret e
[INFO] [stdout] 208 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 | /         parse!{i;
[INFO] [stdout] 212 | |             
[INFO] [stdout] 213 | |             let r = or(number, ident);
[INFO] [stdout] 214 | |             
[INFO] [stdout] 215 | |             ret r
[INFO] [stdout] 216 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | /     parse!{i;
[INFO] [stdout] 219 | |         let f = or(numer_or_ident, grouped_expression);
[INFO] [stdout] 220 | |         
[INFO] [stdout] 221 | |         ret AstNode::Factor(Box::new(f))
[INFO] [stdout] 222 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 | /         parse!{i;
[INFO] [stdout] 228 | |             
[INFO] [stdout] 229 | |             let sign = or(mul_sign, div_sign);
[INFO] [stdout] 230 | |             let fa = factor();
[INFO] [stdout] 231 | |             
[INFO] [stdout] 232 | |             ret (sign, fa)
[INFO] [stdout] 233 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     parse!{i;
[INFO] [stdout] 237 | |         let first_factor = factor();
[INFO] [stdout] 238 | |         
[INFO] [stdout] 239 | |         let sub_terms: Vec<(BiOp, AstNode<'a>)> = many(sub_term);
[INFO] [stdout] ...   |
[INFO] [stdout] 258 | |         }
[INFO] [stdout] 259 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 | /         parse!{i;
[INFO] [stdout] 265 | |             
[INFO] [stdout] 266 | |             
[INFO] [stdout] 267 | |             let sign = sign();
[INFO] [stdout] 268 | |             let term = term();
[INFO] [stdout] 269 | |             ret (term, sign)
[INFO] [stdout] 270 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 | /     parse!{i;
[INFO] [stdout] 274 | |         let first_sign = option(sign, Sign::Plus);
[INFO] [stdout] 275 | |         let first_term = term();
[INFO] [stdout] 276 | |     
[INFO] [stdout] ...   |
[INFO] [stdout] 296 | |         }
[INFO] [stdout] 297 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 | /         parse!{i;
[INFO] [stdout] 303 | |             
[INFO] [stdout] 304 | |             
[INFO] [stdout] 305 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("ODD"));
[INFO] [stdout] 306 | |             let ex = expression();
[INFO] [stdout] 307 | |             ret AstNode::Odd(Box::new(ex))
[INFO] [stdout] 308 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:312:9
[INFO] [stdout]     |
[INFO] [stdout] 312 | /         parse!{i;
[INFO] [stdout] 313 | |             let ex1 = expression();
[INFO] [stdout] 314 | |             
[INFO] [stdout] 315 | |             let op = ex_op();
[INFO] [stdout] 316 | |             let ex2 = expression();
[INFO] [stdout] 317 | |             ret AstNode::ComposedExpression{ex1: Box::new(ex1), op: op, ex2: Box::new(ex2)}
[INFO] [stdout] 318 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 | /     parse!{i;
[INFO] [stdout] 322 | |         
[INFO] [stdout] 323 | |         let ret = or(odd_expression, composed_expression);
[INFO] [stdout] 324 | |         ret ret
[INFO] [stdout] 325 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 | /         parse!{i;
[INFO] [stdout] 333 | |             let ident = ident();
[INFO] [stdout] 334 | |             let _ = satisfy_with(token_separator_cotent, |sep| sep == Some(":="));
[INFO] [stdout] 335 | |             
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |             }
[INFO] [stdout] 341 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 | /         parse!{i;
[INFO] [stdout] 346 | |             
[INFO] [stdout] 347 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("CALL"));
[INFO] [stdout] 348 | |             
[INFO] [stdout] 349 | |             let ident = ident();
[INFO] [stdout] 350 | |             ret AstNode::Call(Box::new(ident))
[INFO] [stdout] 351 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 | /         parse!{i;
[INFO] [stdout] 356 | |             
[INFO] [stdout] 357 | |             let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("?"));
[INFO] [stdout] 358 | |             let ident = ident();
[INFO] [stdout] 359 | |             ret AstNode::QuestionMark(Box::new(ident))
[INFO] [stdout] 360 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 | /         parse!{i;
[INFO] [stdout] 365 | |             let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("!"));
[INFO] [stdout] 366 | |             let ex = expression();
[INFO] [stdout] 367 | |             ret AstNode::ExclaimationMark(Box::new(ex))
[INFO] [stdout] 368 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 | /         parse!{i;
[INFO] [stdout] 373 | |             
[INFO] [stdout] 374 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("BEGIN"));
[INFO] [stdout] 375 | |             
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |             })
[INFO] [stdout] 383 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | /         parse!{i;
[INFO] [stdout] 388 | |             
[INFO] [stdout] 389 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("IF"));
[INFO] [stdout] 390 | |             let cod = condition();
[INFO] [stdout] ...   |
[INFO] [stdout] 397 | |             }
[INFO] [stdout] 398 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 | /         parse!{i;
[INFO] [stdout] 403 | |             
[INFO] [stdout] 404 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("WHILE"));
[INFO] [stdout] 405 | |             let cod = condition();
[INFO] [stdout] ...   |
[INFO] [stdout] 412 | |             }
[INFO] [stdout] 413 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | /     parse!{i;
[INFO] [stdout] 429 | |         let s = option(all_choices, AstNode::Number(0));
[INFO] [stdout] 430 | |         ret s
[INFO] [stdout] 431 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 | /             parse!{i;
[INFO] [stdout] 438 | |                 let ident = ident();
[INFO] [stdout] 439 | |                 let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("="));
[INFO] [stdout] 440 | |                 let num = number();
[INFO] [stdout] ...   |
[INFO] [stdout] 445 | |                 }
[INFO] [stdout] 446 | |             }
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________expected expression
[INFO] [stdout]     |               in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 | /         parse!{i;
[INFO] [stdout] 450 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("CONST"));
[INFO] [stdout] 451 | |             
[INFO] [stdout] 452 | |             let subs: Vec<AstNode<'a>> = sep_by1(sub_const_decl, |idx| satisfy_with(idx, token_separator_cotent, |sep| sep == Some(",")));
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |             ret subs
[INFO] [stdout] 456 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 | /         parse!{i;
[INFO] [stdout] 462 | |             
[INFO] [stdout] 463 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("VAR"));
[INFO] [stdout] 464 | |             let subs: Vec<AstNode<'a>> = sep_by1(ident, |idx| satisfy_with(idx, token_separator_cotent, |sep| sep == Some(",")));
[INFO] [stdout] ...   |
[INFO] [stdout] 467 | |             ret subs
[INFO] [stdout] 468 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 | /         parse!{i;
[INFO] [stdout] 473 | |             let _ = satisfy_with(token_keyword_cotent, |sep| sep == Some("PROCEDURE"));
[INFO] [stdout] 474 | |             let ident = ident();
[INFO] [stdout] 475 | |             let _ = satisfy_with(token_separator_cotent, |sep| sep == Some(";"));
[INFO] [stdout] ...   |
[INFO] [stdout] 482 | |             }
[INFO] [stdout] 483 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________expected expression
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 486 | /     parse!{i;
[INFO] [stdout] 487 | |         
[INFO] [stdout] 488 | |         let c = option(const_declaration, Vec::new());
[INFO] [stdout] 489 | |         let v = option(var_declaration, Vec::new());
[INFO] [stdout] ...   |
[INFO] [stdout] 498 | |         }
[INFO] [stdout] 499 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `.`
[INFO] [stdout]    --> src/parser.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 503 | /     parse!{i;
[INFO] [stdout] 504 | |         
[INFO] [stdout] 505 | |         let block = block();
[INFO] [stdout] 506 | |         let _ = satisfy_with(token_separator_cotent, |sep| sep == Some("."));
[INFO] [stdout] 507 | |         ret block
[INFO] [stdout] 508 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____expected expression
[INFO] [stdout]     |       in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chomp::*`
[INFO] [stdout]  --> src/lexer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chomp::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lexer.rs:81:31
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut m_funcs: Vec<&Fn(&str) -> Option<(Token, usize, usize)>> = Vec::new();
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&str) -> Option<(Token, usize, usize)>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 35 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pl0`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "c963cd87992fd1181b7eada37e9ca525c5e68aee3403f7a03f8b0240f276703b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c963cd87992fd1181b7eada37e9ca525c5e68aee3403f7a03f8b0240f276703b", kill_on_drop: false }`
[INFO] [stdout] c963cd87992fd1181b7eada37e9ca525c5e68aee3403f7a03f8b0240f276703b
